//AP3216C.h

/*AP3216C是一款三合一环境传感器,数字环境光传感器(ALS)
接近传感器(PS),红外LED(IR).支持中断(INT)*/
#include <Arduino.h>

#ifndef __AP3216C_H
#define __AP3216C_H

#define IIC_SCL       42
#define IIC_SDA       41

#define AP3216C_ADDR  0x1E  /*7位原件地址*/

// 中断类型定义
typedef enum { 
    ALS_INT,
    PS_INT
} INT_TYPE;

// 中断清除模式
typedef enum { 
    AUTO = 0,   //默认模式，自动清除
    MANUAL  //手动清除
} CLEAR_TYPE;




bool ap3216c_init(void);
void ap3216c_read_data(uint16_t *als, uint16_t *ps, uint16_t *ir);
void ap3216c_set_int_clear_mode(CLEAR_TYPE mode);
void ap3216c_init_interrupt(INT_TYPE int_types);
void ap3216c_set_als_threshold(uint16_t low, uint16_t high);
void ap3216c_set_ps_threshold(uint16_t low, uint16_t high);
void ap3216c_clear_interrupt(uint8_t int_type);
#endif
